home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
program
/
gemxx19.zoo
/
gem++19
/
man
/
gemsl.man
< prev
next >
Wrap
Text File
|
1993-10-06
|
4KB
|
130 lines
GEM++ - C++ LIBRARIES FOR GEM/AES/VDI
NAME
GEMslider - Conventional GEM slider objects, with extensions.
DESCRIPTION
A GEMslider may be horizontal or vertical, or both. A two-way
slider is often called a "panner".
A GEMslider proportionally represents some "window" into some
larger object. There is no actual larger object - that is
define by the class user.
Normally, up to 50ms is spent waiting for the mouse to be released
from arrows, and up to 250ms from page areas of the scrollbar.
This allows the sliders to auto-repeat. Times are configurable.
Note that the GEMobject which a GEMslider is is the RACK of
the slider.
CONSTRUCTORS
GEMslider(GEMform& f, int RSCknob, int RSCrack)
Create a GEMslider that allows the object with the RSC index
"knob" to slide within the object with the RSC index "rack".
Both objects are in the given GEMform. Currently, the knob
must be a child of the rack.
GEMslider(GEMform&, int RSCknob, int RSCrack, int RSCminus, int RSCplus)
Create a slider as above, but also specifying two other objects
that when clicked will advance the "window" by one "line" or
"column" in either direction. The horizontal or vertical nature
of the slider is calculated from the dimensions of the knob
and rack.
GEMslider(GEMform&, int RSCknob, int RSCrack,
int RSChminus, int RSChplus,
int RSCvminus, int RSCvplus)
Create a slider as above, but with both horizontal AND vertical
adjustors.
METHODS
virtual void Flush()
Cause all modifications by the below functions to take visual
effect.
void SetVisibleLines(int noOfLines)
void SetVisibleColumns(int noOfColumns)
Set the size of the "window" in document units.
Document units are arbitrarily defined by the class user.
void SetTotalLines(int noOfLines)
void SetTotalColumns(int noOfColumns)
Set the size of the document in document units.
void SetTopLine(int noOfLine)
void SetLeftColumn(int noOfColumn)
Set the position of the "window" in the document in document units.
int VisibleLines()
int VisibleColumns()
Return size of "window" in document units.
int TopLine()
int LeftColumn()
Return position of "window" in document units.
void ColumnLeft()
void ColumnRight()
Move the "window" by HColumnAmount() document units in any direction.
virtual int HColumnAmount()
(normally 1)
void LineUp()
void LineDown()
Move the "window" by VLineAmount() document units in any direction.
virtual int VLineAmount()
(normally 1)
void PageLeft()
void PageRight()
Move the "window" by HPageAmount() document units in any direction
virtual int HPageAmount()
(normally equal to the current size of the "window")
void PageUp()
void PageDown()
Move the "window" by VPageAmount() document units in any direction
virtual int VPageAmount()
(normally equal to the current size of the "window")
int LineDelay(int ms)
int PageDelay(int ms)
Set the line or page auto-repeat rate in milliseconds. Unchanged
if ms is negative. Returns value before change.
void GEMtoDOC()
void DOCtoGEM()
Flush object changes or changes by above methods without redraw.
GEMfeedback Touch(int x, int y, const GEMevent&)
Overrides GEMobject::Touch() to implement the required action.
EXTENSION
By overriding the Flush() method, the class user may take
the TopLine/LeftColumn values and adjust some other display
accordingly.
SEE ALSO
GEMobject
BUGS
Bugs in GEM++ should be reported to warwick@cs.uq.oz.au
AUTHOR
Warwick Allison, 1993.
warwick@cs.uq.oz.au
COPYING
This functionality is part of the GEM++ library,
and is Copyright 1993 by Warwick W. Allison.
GEM++ is free and protected under the GNU Library General Public
License.
You are free to copy and modify these sources, provided you
acknowledge the origin by retaining this notice, and adhere to
the conditions described in the GNU LGPL.